/**
 * <strong>Title : BOMComponent.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.cm.dao<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2016年1月18日 下午1:00:49<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.cm.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.cm.model.BOMComponent;

/**
 * <strong>Title : BOMComponent.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.cm.dao<br>
 * </strong> <strong>Description : </strong>bom组件持久层<br>
 * <strong>Create on : 2016年1月18日 下午1:00:49<br>
 * </strong>
 * <p>
 * 
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface BOMComponentDao {

  /**
   * <strong>Title : insetComponent<br>
   * </strong> <strong>Description : </strong>新增BOM组件<br>
   * <strong>Create on : 2016年1月18日 下午1:21:59<br>
   * </strong>
   * <p>
   * 
   * @param component
   *            void
   * @throws
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   *          <strong>修改历史:</strong><br>
   *          修改人 | 修改日期 | 修改描述<br>
   *          -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertComponent(BOMComponent component);

  /**
   * <strong>Title : deleteAllComponents<br>
   * </strong> <strong>Description : </strong>删除bomCode下所有组件<br>
   * <strong>Create on : 2016年1月18日 下午1:22:04<br>
   * </strong>
   * <p>
   * 
   * @param bomCode
   * @param siteCode
   *            void
   * @throws
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   *          <strong>修改历史:</strong><br>
   *          修改人 | 修改日期 | 修改描述<br>
   *          -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteAllComponents(@Param("bomCode") String bomCode, @Param("siteCode") String siteCode);

  /**
   * <strong>Title : selectComponents<br>
   * </strong> <strong>Description : </strong>取当前物料清单下所有组件<br>
   * <strong>Create on : 2016年1月18日 下午1:27:29<br>
   * </strong>
   * <p>
   * 
   * @param bomCode
   * @param siteCode
   * @return List<BOMComponent>
   * @throws
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   *          <strong>修改历史:</strong><br>
   *          修改人 | 修改日期 | 修改描述<br>
   *          -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<BOMComponent> selectComponents(@Param("bomCode") String bomCode, @Param("siteCode") String siteCode);

  /**
   * <strong>Title : updateComponent<br>
   * </strong> <strong>Description : </strong>根据id更新组件<br>
   * <strong>Create on : 2016年1月20日 下午3:43:03<br>
   * </strong>
   * <p>
   * 
   * @param component
   *            void
   * @throws
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   *          <strong>修改历史:</strong><br>
   *          修改人 | 修改日期 | 修改描述<br>
   *          -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateComponent(BOMComponent component);

  /**
   * <strong>Title : deleteComponentById<br>
   * </strong> <strong>Description : </strong>删除单个组件<br>
   * <strong>Create on : 2016年1月20日 下午3:43:11<br>
   * </strong>
   * <p>
   * 
   * @param id
   *            void
   * @throws
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   *          <strong>修改历史:</strong><br>
   *          修改人 | 修改日期 | 修改描述<br>
   *          -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteComponentById(@Param("id") long id);

}
